package com.redepronik.negosys.invfac.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.redepronik.negosys.invfac.dao.TipoDocumentoDao;
import com.redepronik.negosys.invfac.entity.Tipodocumento;

@Service
public class TipoDocumentoServiceImpl implements TipoDocumentoService {

	@Autowired
	private TipoDocumentoDao tipoDocumentoDao;

	public String actualizar(Tipodocumento tipoDocumento) {
		if (!tipoDocumentoDao.comprobarIndices(Tipodocumento.class, "nombre",
				tipoDocumento.getNombre(),
				String.valueOf(tipoDocumento.getTipodocumentoid()))) {
			tipoDocumentoDao.actualizar(tipoDocumento);
			return "SAVE";
		} else
			return "EL TIPO DE DOCUMENTO YA EXISTE";
	}

	public void eliminar(Tipodocumento tipoDocumento) {
		if (tipoDocumento.getActivo())
			tipoDocumento.setActivo(false);
		else
			tipoDocumento.setActivo(true);
		tipoDocumentoDao.actualizar(tipoDocumento);
	}

	public String insertar(Tipodocumento tipoDocumento) {
		if (!tipoDocumentoDao.comprobarIndices(Tipodocumento.class, "nombre",
				tipoDocumento.getNombre(),
				String.valueOf(tipoDocumento.getTipodocumentoid()))) {
			tipoDocumento.setActivo(true);
			tipoDocumentoDao.insertar(tipoDocumento);
			return "SAVE";
		} else
			return "EL TIPO DE DOCUMENTO YA EXISTE";
	}

	public List<Tipodocumento> obtener(Boolean activo) {
		return tipoDocumentoDao.obtener(Tipodocumento.class, "nombre", activo);
	}

	public Tipodocumento obtenerPorId(Integer tipoDocumentoId) {
		return tipoDocumentoDao.obtenerPorId(Tipodocumento.class,
				tipoDocumentoId);
	}

}